%%%-------------------------------------------------------------------
%%% @author Administrator
%%% @copyright (C) 2019, <COMPANY>
%%% @doc
%%%
%%% @end
%%% Created : 31. 12月 2019 10:22
%%%-------------------------------------------------------------------
-author("Administrator").

-define(DAY_TIMESTAMP,86400).
-define(GAME_WS_CONN_PID, game_ws_conn_pid).
-define(GAME_ROOM_INFO, game_room_info).

-define(BEY_SAIL, 0).%开船
-define(BEY_NORMAL, 2).%正常
-define(BEY_ALL_IN, 1).%all in

%%带入积分区间
-define(INTO_INTEGRAL_MIN, 4000).
-define(INTO_INTEGRAL_MAX, 10000).

%%押注金额类别
-define(QUEUE_MAX, 10).%最大排队人数,剩下的旁观
-define(TENTH, 0).%余额十分之一  0.2
-define(PLATE, 1).%上盘输赢0.2
-define(DOUBLE_PLATE, 2).%上盘*2 0.15
-define(SAIL, 3).%开船 0.03
-define(OTHER_MONEY, 4).%其他金额 0.42


%玩家房间状态
-define(LOBBY, 0).%大厅
-define(QUEUE, 1).%排队
-define(LOOK, 2).%旁观
-define(LOOK_BET, 4).%旁观下注
-define(SEAT, 5).%入座
-define(PLAYER_ROOM_STATE, ?LOBBY).

%抢庄倍数
-define(ROB_ZHUANG, [1, 2, 4]).
%下注倍数
-define(ROB_BOTTOM, [1, 2, 3]).

%%牌桌和牌桌积分类型
-define(CLUB, 0).%俱乐部
-define(LEAGUE, 1).%联盟
-define(TEAM, 2).%战队
-define(PERSON, 3).%个人

%%激情围牛赔付池
-define(ZJ_SCORE_POOL, zjScorePool).
%%房间坐庄金额
-define(ZZ_MONEY, zz_money).
%%是否庄家
-define(IS_ZJ, is_zj).
%%庄家用户id
-define(ZJ_USER, zj_user).
%%庄家任务完成标识
-define(ZJ_TASK_COMPLETE, zj_task_complete).
%%重复发言标识
-define(RE_FY_TYPE, fy_type).%1是爆庄，2是普通连庄
%%带入积分次数
-define(TAKE_NUMBER,take_number).
%%首次带入
-define(FIRST_INTO,first_into).

%%任务状态
-define(TASK_RUN, 1).%运行中
-define(TASK_NOT_RUN, 0).%未运行
-define(TASK_COMPLETE, 2).%已完成

-record(game_task_player, {
  task_id :: integer(),
  account :: integer(),%账号顺序不能变
  password :: string(),
  condition :: number(),
  is_look_bet= false :: boolean(),%位置不能变
  is_new_player = 0 :: integer()%是否新账号
}).

-type task_player_list() :: [#game_task_player{}].

-record(game_task, {
  task_id :: integer(),
  name :: string(),
  start_at :: integer(),
  end_at :: integer(),
  condition :: number(),
  status = 0 :: 1|0|2, %状态1运行中,2已结束
  gameId_list :: list(),
  take_start_num :: integer(),
  take_end_num :: integer(),%带入积分起始值
  take_number = 0 :: integer(),%带入次数
  player_number :: integer(),%玩家数量
  player_list = [] :: task_player_list(),%任务玩家列表
  is_all_day_run :: boolean(),%是否全天运行
  look_number :: integer()%旁观数量
}).


%%游戏房间状态
-record(room_status, {
  ws_conn_pid :: pid(),
  token :: string(),
  player_id :: string(),
  account :: string(),
  game_id :: integer(),
  room_type :: integer(),
  room_id :: integer(),
  group_id :: string(),
  game_count :: integer(),%房间局数
  status :: string(),%状态:free 空闲，bets 下注，open 开牌，send 发牌
  left_room_time :: integer(), %剩余时间
  room_max_time :: integer(),%最大时长
  current_time :: integer(),%当前时间,
  index :: integer(), %座位
  player_state = 0 :: integer(),%玩家在房间状态
  is_queue = false :: boolean(), %是否排队
  is_integral = false :: boolean(), %是否带入积分
  profit_threshold = 0 :: float(),%盈亏阈值
  plate = 0 :: number(), %上盘输赢绝对值
  total_plate = 0 :: float(),%总输赢
  into_integral = 0 :: number(),%带入积分
  room_score = 0 :: number(),%房间余额
  left_score = 0 :: number(), %身上余额
  wn_select = false :: boolean(), %是否庄家
  is_look_bet = false :: boolean(),%是否旁观玩家
  task_id ::integer()%任务id
}).

%%房间座位信息,seat是房间座位,有代表空闲
-record(room_seat_info, {
  game_id :: integer(),
  room_id :: string(),
  player_seats = #{},
  seat = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
  created_at :: integer()
}).


%%玩家排队表,key是座位号,list里面是排队玩家id
-record(robot_queue, {
  game_id :: integer(),
  room_id :: string(),
  index = #{
    0 => [],
    1 => [],
    2 => [],
    3 => [],
    4 => [],
    5 => [],
    6 => [],
    7 => [],
    8 => [],
    9 => []
  }
}).

-record(ming_pai_player,{
  room_id :: integer(),
  account :: string(),
  player_pid :: pid(),
  match :: list() %%牌数据
}).

%%明牌房间人数
-record(ming_pai_room_number, {
  room_id :: integer(),
  number =0 :: integer()
}).

%%第一位标识花色
-define(FLOWER_COLOR_A, 1).%黑桃
-define(FLOWER_COLOR_B, 2).%红桃
-define(FLOWER_COLOR_C, 3).%梅花
-define(FLOWER_COLOR_D, 4).%方块
%%发牌数据
-define(CARD_PUKE, card_puke).
%%明牌是否推注
-define(IS_PUSH, is_push).
-define(MING_PAI_DOWN_NUMBER,ming_pai_down_number).%明牌房间坐下的人数











